﻿//-----------------------------------------------------------------------------------------
// <copyright file="BlipService.Shortlink.cs" company="Jakub Florczyk (www.jakubflorczyk.pl)">
//      Copyright © 2009 Jakub Florczyk (www.jakubflorczyk.pl)
//      http://blipnet.codeplex.com/
// </copyright>
//-----------------------------------------------------------------------------------------

namespace BlipNet
{
    using System;
    using System.Globalization;

    /// <summary>
    /// Blip serwis.
    /// </summary>
    public partial class BlipService
    {
        /// <summary>
        /// Zwraca najnowsze adresy od wszystkich użytkowników.
        /// </summary>
        /// <param name="limit">Limit ilości.</param>
        /// <returns>Najnowsze adresy.</returns>
        public Shortlink[] GetAllShortlinks(int limit)
        {
            return RequestGetMany<Shortlink>(String.Format(CultureInfo.InvariantCulture, "/shortlinks/all?limit={0}", limit));
        }

        /// <summary>
        /// Zwraca najstarsze adresy od wszystkich użytkowników, nowszych niż id.
        /// </summary>
        /// <param name="limit">Limit ilości.</param>
        /// <param name="id">Identyfikator ofsetu.</param>
        /// <returns>Najstarsze adresy.</returns>
        public Shortlink[] GetAllShortlinksSince(int limit, int id)
        {
            return RequestGetMany<Shortlink>(String.Format(CultureInfo.InvariantCulture, "/shortlinks/{1}/all_since?limit={0}", limit, id));
        }

        /// <summary>
        /// Tworzy link (rdir.pl).
        /// </summary>
        /// <param name="original_link">Adres URL, który ma zostać skrócony do wykorzystania z rdir.pl. </param>
        /// <returns>Skrócony link.</returns>
        public Shortlink AddShortlink(Uri original_link)
        {
            return RequestPost<Shortlink>("/shortlinks", "shortlink[original_link]", original_link.ToString());
        }
    }
}
